package com.snack.system.mapper;

import com.snack.system.domain.TsGoods;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 商品Mapper接口
 * 
 * @author snack
 * @date 2022-09-18
 */
public interface TsGoodsMapper 
{
    /**
     * 查询商品
     * 
     * @param goodsId 商品主键
     * @return 商品
     */
    public TsGoods selectById(Long goodsId);

    /**
     * 查询商品
     *
     * @param goodsId 商品主键
     * @return 商品
     */
    public TsGoods selectSimpleById(Long goodsId);

    /**
     * 查询商品列表
     * 
     * @param goods 商品
     * @return 商品集合
     */
    public List<TsGoods> selectList(TsGoods goods);

    /**
     * 通过编码查询
     * @param code
     * @return
     */
    public TsGoods selectByCode(String code);

    /**
     * 通过名称查询是否唯一
     * @param goodsName
     * @return
     */
    public TsGoods checkNameUnique(@Param("goodsName") String goodsName, @Param("goodsTypeId") Long goodsTypeId);

    /**
     * 新增商品
     * 
     * @param goods 商品
     * @return 结果
     */
    public int insert(TsGoods goods);

    /**
     * 修改商品
     * 
     * @param goods 商品
     * @return 结果
     */
    public int update(TsGoods goods);

    /**
     * 批量删除商品
     * 
     * @param goodsIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteByIds(Long[] goodsIds);
}
